package com.haiya.common.domain.model;

/**
 * @author qiaoguoqiang
 */
public abstract class Validator {

    private ValidationNotificationHandler notificationHandler;

    public Validator(ValidationNotificationHandler aHandler) {
        super();

        this.setNotificationHandler(aHandler);
    }

    /**
     * 验证处理方法
     */
    public abstract void validate();

    /**
     * 获取通知处理器
     * @return
     */
    protected ValidationNotificationHandler notificationHandler() {
        return this.notificationHandler;
    }

    /**
     * 设置通知处理器
     * @param aHandler
     */
    private void setNotificationHandler(ValidationNotificationHandler aHandler) {
        this.notificationHandler = aHandler;
    }
}
